/*
 * Yogurt.h
 *
 *  Created on: Jun 8, 2011
 *      Author: wilsok17
 */

#include <utility>
#include <string>
#include <list>
#include "DataObjects.h"
#include "Grid.h"
#include "Search.h"
using namespace std;

#ifndef YOGURT_H_
#define YOGURT_H_

class Yogurt {
private:
	pair<string, DIRECTION> seekerOnePos;
	list<pair<string, DIRECTION> > seekerOneRoute;
	pair<string, DIRECTION> seekerTwoPos;
	list<pair<string, DIRECTION> > seekerTwoRoute;
	Grid safePaths;
	Grid currentGrid;
	Search search;
public:
	Yogurt(Grid grid);
	virtual ~Yogurt();
	void run();
	void receiveSeekerReport(SeekerReport report);
	list<pair<string, DIRECTION> > requestInstructions(int seekerID);
	list<pair<string, DIRECTION> > findSafePath();
};

#endif /* YOGURT_H_ */
